In digital printing and desktop publishing, the visual appearance of a page to be printed on a tangible medium can be described digitally. An intuitive approach to describe the visual appearance of the page is by explicitly defining the color (e.g., using the CMYK color model) of each pixel of the page. Namely, the page may be treated as a raster image. However, this intuitive approach is inflexible, may dissociate the visual appearance of the page from data structures defining the contents of the page, and may make manipulating the visual appearance difficult.
The visual appearance of the page may be described at a higher level of abstraction than defining each pixel. The description of the visual appearance of the page may define characteristics of the contents of the page rather than the exact visual appearance of the contents. In an example where one content of the page is a textual string, the description may define codes of the letters in the textual string (e.g., ASCII code, Unicode), the fonts of the letters, the variations of the fonts (e.g., height, width, weight, and slope), etc. In another example where one content of the page is a shape, the description may define parameters of a mathematical formula specifying the curve encompassing the shape, the style of fill (e.g., fill color, transparency) of the shape, the style of the curve (e.g., color, weight), etc. When the page is printed, the description is rendered to produce the visual appearance of the page.
One issue of this description at the higher level of abstraction is that the data structures defining the contents of the page and the description of the visual appearance of the page are often quite different in format. Achieving WYSIWYG (“what you see is what you get”) from the data structures defining the contents of the page to the description of the visual appearance of the page is not always straightforward.